ThoughtWorthSharing HowTo
As part of the serie of article about UDO, I am sharing some example of UDO Procedure I created for different use cases.
I will show examples with the 2 different way to proceed: manually (On Premise only) and with the GUI (On Premise / On Cloud)
Example 1: Open all PPR related objects starting from a General System
Use Case
In order to perform a Manufacturing Simulation, the user need to gather everything related to a specific Routing (General System) and open them in the Simulation App:
- The Manufactured Assembly made by the selected Routing
- Only the implemented Engineered Item in the MBOM
- All the resources available under the related Workstation
- Everything filtered by the Configuration set in the structure.
Creation
Step1: Clarify the need and context
In order to define efficiently the UDO, an non-exhaustive list of points are checked:
- Is an existing UDO Procedure can answer my need ? (check Available Procedures)
Answer: Not currently existing
- What actions the user wants to perform in Authoring ?
Answer: Manufacturing Simulation
- Which PPR structure are managed with Configuration and/or Effectivity ? (if any)
Answer: EBOM by Configuration, MBOM by Configuration
- What is the starting point on the user point of view ?
Answer: the user is used to work by Routing name (General System)
- Which data does the user need to work ? (in order to avoid loading whole assembly)
Answer: only the MBOM/EBOM of the Assembly made by the specific Routing and the available resources. No need of context / predecessor assemblies.
- Data Model: Which object types are currently used ?
- EBOM:
- Physical Product
- 3D Part
- 3D Shape
- MBOM:
- Manufacturing Assemblies
- Provided Part
- Process:
- General System
- Header Opertation
- General Operation
- Loading Operation
- Resource:
- Manufacturing Cell
- Tool
- Skills
- NC Machine
- EBOM:
- Data Model: Which relationships are currently used ?
- EBOM-MBOM:
- Scope link between head node
- Partial scope link between Manufacturing Assemblies and top node of EBOM
- Implement link for lower level
- No Assignment filters used
- MBOM-System:
- Scope link between General Systems (Routing) and Manufacturing Assemblies
- Implement link between Manufactured Items and Operation
- No Resulting Product used
- System-Resource:
- Scope link between General Systems (Routing) and Resource Zones (Manufacturing Cells)
- Implement link between Operations and Resources
- No Capable Resources / Assets used
- EBOM-MBOM:
Step 2: Formalize the steps
The easiest way to formalize the steps is to do it with a graphical view of the data model. In ensure to check if the step-by-step order is correct, and validate if each action would work.
Step N° | Action | Primitive |
1 | Get scoped Manufacturing Assembly | navigateFromProcessToMBOM |
2 | Compact scoped Manufacturing Assemblies | compact |
3 | Expand All Manufacturing Assembly | I3DexpandMBOM |
4 | Get (only) the Implemented Engineering Items | navigateFromMBOMToEBOM |
5 | Expand all the General System | expandSystem |
6 | Get scoped Manufacturing Cell | navigateFromSystemToResource |
7 | Expand all Manufacturing Cell | expandResource |
For each steps, the primitive “merge” will be used in order to add the retrieved occurrences in the different output Navigation Sets (PRD, PRCS, PROD_SYS, RSC)
It is recommended to use “Compact” primitive for some use case in order to avoid next action to be done on all Occurrences of a navigation set.
Step 3: Implement
Code: (replace ".txt" by ".udoproc.js")
Deploy and test
- Add the js file on the server in “/server/Apps/VPMMultiDiscipline/V6R2021x/java/src/”
- Open MQL and create a program
add prog Asset_UDO_from_SYS.1.0.0
file '/home/data/RTV/DEMOR423/server/Apps/VPMMultiDiscipline/V6R2021x/java/src/Asset_UDO_from_SYS.1.0.0.udoproc.js'
property isjavascriptprogram value TRUE
property ProcDisplayName value "UDO Asset - completion from SYS"
property ProcShortDescription value "UDO ASset - PPR Completion from a selected General System"
property ProcUsageContexts value UserDefCompletionForOpenCmd
property ProcCategory value Custo
property ProcVisibility value ALL
property ProcAction value BOTH
property ProcNodeType value Any;
- In MQL, update the UDO Pack
mod pack UDOProcedures add member program Asset_UDO_from_SYS.1.0.0;
- Restart your 3DEXPERIENCE Rich Client and test
a. Creation of test data set, here same as the Graphical View
b. Explore in MCB the PPR top nodes, filter the required structure
c. Expand and keep the General System that will be input
d. Select the input System and open the User Defined Open function
e. Select the Procedure, the Apps where to Open and click ok
f. Check if the opened data matches the requirement
Example 2: XPDM Export: Open the 3DParts related to a selected Manufacturing Assembly
Use Case
In order to perform an XPDM Export to share the information to a Partner, the Manufacturing Engineers needs to open in Authoring the EBOM Parts that are related to a specific Manufacturing Assembly.
Creation
Step 1: Clarify the need and context
In order to define efficiently the UDO, an non-exhaustive list of points are checked:
- Is an existing UDO Procedure can answer my need ? (check Available Procedures)
Answer: Not currently existing
- What actions the user wants to perform in Authoring ?
Answer: XPDM Export of the EBOM
- Which PPR structure are managed with Configuration and/or Effectivity ? (if any)
Answer: EBOM by Configuration, MBOM by Configuration
- What is the starting point on the user point of view ?
Answer: the user will select a Manufacturing Assembly
- Which data does the user need to work ? (in order to avoid loading whole assembly)
Answer: only the EBOM Parts for the export.
- Data Model: Which object types are currently used ?
- EBOM:
- Physical Product
- 3D Part
- 3D Shape
- MBOM:
- Manufacturing Assemblies
- Provided Part
- EBOM:
- Data Model: Which relationships are currently used ?
- EBOM-MBOM:
- Scope link between head node
- Implement link for lower level
- No Assignment filters used
- EBOM-MBOM:
Step 2: Formalize the steps
The easiest way to formalize the steps is to do it with a graphical view of the data model. In ensure to check if the step-by-step order is correct, and validate if each action would work.
Step N° | Action | Primitive |
1 | Expand All Manufacturing Assembly | I3DexpandMBOM |
2 | Get (only) the Implemented Engineering Items | navigateFromMBOMToEBOM |
3 | Compact Manufacturing structure | compact |
4 | Expand All Engineering Items | I3DexpandEBOM |
Step 3: Implement
Code: (replace ".txt" by ".udoproc.js")
Deploy and test
- Add the js file on the server in “/server/Apps/VPMMultiDiscipline/V6R2021x/java/src/”
- Open MQL and create a program
add prog Export_XPDM_From_MBOM.1.0.0
file '/home/data/RTV/DEMOR423/server/Apps/VPMMultiDiscipline/V6R2021x/java/src/Export_XPDM_From_MBOM.1.0.0.udoproc.js'
property isjavascriptprogram value TRUE
property ProcDisplayName value "For XPDM Export from MBOM"
property ProcShortDescription value "Explore in MCB EBOM Root Node and MBOM Root node. Then expand and select the Manufacturing Assembly to extract"
property ProcUsageContexts value UserDefCompletionForOpenCmd
property ProcCategory value Custo
property ProcVisibility value ALL
property ProcAction value BOTH
property ProcNodeType value Any;
- In MQL, update the UDO Pack
mod pack UDOProcedures add member program Export_XPDM_From_MBOM.1.0.0;
- Restart your 3DEXPERIENCE Rich Client and test
a. Creation of test data set, here same as the Graphical View
b. Explore in MCB the EBOM and MBOM, filter the required structure
c. Expand and keep the Manufacturing Assembly you want to exprot
d. Select the input Manufacturing Assembly and open the User Defined Open function
e. Select the Procedure, the Apps where to Open and click ok
f. Check if the opened data matches the requirement
Example 3: Open PPR from System with current implemented Item and a complete 3D View
Use Case
In order to perform some analysis based on the Process, the Manufacturing Engineers needs to open in Authoring the PPR related to a selected General System. The global PPR contains a lot of Fasteners, only the one implemented in the current System are needed.
Creation
Step 1: Clarify the need and context
In order to define efficiently the UDO, an non-exhaustive list of points are checked:
- Is an existing UDO Procedure can answer my need ? (check Available Procedures)
Answer: Not currently existing
- What actions the user wants to perform in Authoring ?
- Answer: Manufacturing Simulation
- Which PPR structure are managed with Configuration and/or Effectivity ? (if any)
- Answer: EBOM by Configuration, MBOM by Configuration
- What is the starting point on the user point of view ?
- Answer: the user is used to work by Routing name (General System)
- Which data does the user need to work ? (in order to avoid loading whole assembly)
- Answer: only the MBOM/EBOM of the Assembly made by the specific Routing and the available resources. No need of context / predecessor assemblies.
- Data Model: Which object types are currently used ?
- EBOM:
- Physical Product
- Fasteners
- 3D Part
- 3D Shape
- MBOM:
- Manufacturing Assemblies
- Provided Part
- Fasten
- Process:
- General System
- Header Opertation
- General Operation
- Loading Operation
- Resource:
- Manufacturing Cell
- Tool
- Skills
- NC Machine
- EBOM:
- Data Model: Which relationships are currently used ?
- EBOM-MBOM:
- Scope link between head node
- Partial scope link between Manufacturing Assemblies and top node of EBOM
- Implement link for lower level
- No Assignment filters used
- MBOM-System:
- Scope link between General Systems (Routing) and Manufacturing Assemblies
- Implement link between Manufactured Items and Operation
- No Resulting Product used
- System-Resource:
- Scope link between General Systems (Routing) and Resource Zones (Manufacturing Cells)
- Implement link between Operations and Resources
- No Capable Resources / Assets used
- EBOM-MBOM:
Step 2: Formalize the steps
The easiest way to formalize the steps is to do it with a graphical view of the data model. In ensure to check if the step-by-step order is correct, and validate if each action would work.
Step N° | Action | Primitive |
1 | Expand the selected System | expandSystem |
2 | Get (only) the Implemented Manufacturing Items | navigateFromProcessToEBOM |
3 | Expand the Manufacturing Items | expandMBOM |
4 | Remove the Fasten objects | cutOccurrences |
5 | Get (only) the Implemented Engineering Items | navigateFromMBOMtoEBOM |
6 | Get the scoped Resource | navigateFromSystemToresource |
7 | Expand the scoped Resource | expandResource |
Step 3: create the UDO interactively
- Restart your 3DEXPERIENCE Rich Client and test
a. Creation of test data set,
b. Explore in MCB the EBOM, MBOM, System and Resource, filter the required structure
c. Expand and keep the System
d. Select the input Manufacturing Assembly and open the User Defined Open function
e. Select the Procedure, the Apps where to Open and click ok
f. Check if the opened data matches the requirement
